package com.plum.admin.modules.youeorder.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import com.plum.admin.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author 子丶沫
 * @since 2021-08-17
 */
@Data
@Accessors(chain = true)
@TableName("driver")
@ApiModel(value="Driver对象", description="")
public class Driver implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    @ApiModelProperty(value = "司机(车主)姓名")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "头像")
    @TableField("head")
    private String head;

    @ApiModelProperty(value = "性别 0 男  1 女")
    @TableField("sex")
    private Integer sex;

    @ApiModelProperty(value = "身份证")
    @TableField("id_card")
    private String idCard;

    @ApiModelProperty(value = "身份证URl")
    @TableField("id_card_url")
    private String idCardUrl;

    @ApiModelProperty(value = "所属公司")
    @TableField("company_id")
    private String companyId;

    @ApiModelProperty(value = "审核状态状态：-1待提交 0-未入驻 1-待审核，2-已通过，3-未通过， 4-停用，5-冻结。")
    @TableField("check_status")
    private Integer checkStatus;

    @ApiModelProperty(value = "驾驶证注册日期")
    @TableField("driver_reg_date")
    private LocalDateTime driverRegDate;

    @ApiModelProperty(value = "所属机构")
    @TableField("organization_id")
    private String organizationId;

    @ApiModelProperty(value = "驾驶证号")
    @TableField("driver_num")
    private String driverNum;

    @ApiModelProperty(value = "驾驶证号_url")
    @TableField("driver_num_url")
    private String driverNumUrl;

    @ApiModelProperty(value = "驾驶车辆车牌号")
    @TableField("plate_num")
    private String plateNum;

    @ApiModelProperty(value = "司机评分(派单规则条件)")
    @TableField("grade")
    private BigDecimal grade;

    @ApiModelProperty(value = "电话")
    @TableField("tel")
    private String tel;

    @ApiModelProperty(value = "服务线路名称 多个用逗号隔开")
    @TableField("service_road")
    private String serviceRoad;

    @ApiModelProperty(value = "线路id 多选用逗号隔开")
    @TableField("route_id")
    private String routeId;

    @ApiModelProperty(value = "接听订单类型 0-实时 1-预约 2-全部")
    @TableField("hear_order_type")
    private Integer hearOrderType;

    @ApiModelProperty(value = "邀请人ID")
    @TableField("invite_id")
    private Integer inviteId;

    @ApiModelProperty(value = "城市CODE")
    @TableField("city_code")
    private String cityCode;

    @ApiModelProperty(value = "是否开始听单:0-听单 1-不听单")
    @TableField("on_off_listen")
    private Integer onOffListen;

    @ApiModelProperty(value = "提现方式:0-支付宝 1-微信 2-网银")
    @TableField("extract_mode")
    private Integer extractMode;

    @ApiModelProperty(value = "第三方账号（卡号）")
    @TableField("third_no")
    private String thirdNo;

    @ApiModelProperty(value = "姓名")
    @TableField("card")
    private String card;

    @ApiModelProperty(value = "开户行")
    @TableField("opening_bank")
    private String openingBank;

    @ApiModelProperty(value = "状态：0-初始1-待审核，2-已通过，3-未通过， 4-停用，5-冻结。")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "创建者")
    @TableField("create_by")
    private Long createBy;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_date")
    private LocalDateTime createDate;

    @ApiModelProperty(value = "更新者")
    @TableField("update_by")
    private Long updateBy;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_date")
    private LocalDateTime updateDate;

    @ApiModelProperty(value = "备注信息")
    @TableField("remarks")
    private Integer remarks;

    @ApiModelProperty(value = "司机工作状态 0-下班 1-上班 2-接客中 3-送客中")
    @TableField("del_flag")
    private String delFlag;

    @TableField("d_id")
    private Integer dId;

    @ApiModelProperty(value = "是否已经发送过提醒")
    @TableField("warn_flag")
    private String warnFlag;

    @ApiModelProperty(value = "司机类型(1-拼车司机，2-专车司机)")
    @TableField("driverType")
    private Integer drivertype;

    @ApiModelProperty(value = "云图司机ID")
    @TableField("yunId")
    private Integer yunid;

    @ApiModelProperty(value = "出生日期")
    @TableField("network_driver_birthday")
    private LocalDateTime networkDriverBirthday;

    @ApiModelProperty(value = "国籍")
    @TableField("network_driver_nationality")
    private String networkDriverNationality;

    @ApiModelProperty(value = "驾驶员民族")
    @TableField("network_driver_nation")
    private String networkDriverNation;

    @ApiModelProperty(value = "驾驶员婚姻状况")
    @TableField("network_driver_marital_status")
    private String networkDriverMaritalStatus;

    @ApiModelProperty(value = "驾驶员外语能力")
    @TableField("network_driver_language_level")
    private String networkDriverLanguageLevel;

    @ApiModelProperty(value = "驾驶员学历")
    @TableField("network_driver_education")
    private String networkDriverEducation;

    @ApiModelProperty(value = "户口登记机关名称")
    @TableField("network_driver_census")
    private String networkDriverCensus;

    @ApiModelProperty(value = "户口住址或常住地址")
    @TableField("network_driver_address")
    private String networkDriverAddress;

    @ApiModelProperty(value = "驾驶员通信地址")
    @TableField("network_driver_contact_address")
    private String networkDriverContactAddress;

    @ApiModelProperty(value = "驾驶员照片文件编号")
    @TableField("network_driver_photo_id")
    private String networkDriverPhotoId;

    @ApiModelProperty(value = "机动车驾驶证号")
    @TableField("network_driver_license_id")
    private String networkDriverLicenseId;

    @ApiModelProperty(value = "机动车驾驶证扫描件文件编号")
    @TableField("network_driver_license_photo_id")
    private String networkDriverLicensePhotoId;

    @ApiModelProperty(value = "准驾车型")
    @TableField("network_driver_type")
    private String networkDriverType;

    @ApiModelProperty(value = "初次领取驾驶证日期")
    @TableField("network_get_driver_license_date")
    private LocalDateTime networkGetDriverLicenseDate;

    @ApiModelProperty(value = "驾驶证有效期限起")
    @TableField("network_driver_license_on")
    private LocalDateTime networkDriverLicenseOn;

    @ApiModelProperty(value = "驾驶证有效期限止")
    @TableField("network_driver_license_off")
    private LocalDateTime networkDriverLicenseOff;

    @ApiModelProperty(value = "是否巡游出租汽车驾驶员 1：是，0：否")
    @TableField("network_taxi_driver")
    private Boolean networkTaxiDriver;

    @ApiModelProperty(value = "网络预约出租车驾驶员资格证号")
    @TableField("network_certificate_no")
    private String networkCertificateNo;

    @ApiModelProperty(value = "网络预约出租车汽车驾驶员证发证机构")
    @TableField("network_car_issue_organization")
    private String networkCarIssueOrganization;

    @ApiModelProperty(value = "资格证发证日期")
    @TableField("network_car_issue_date")
    private LocalDateTime networkCarIssueDate;

    @ApiModelProperty(value = "初次领取资格证日期")
    @TableField("network_get_network_car_proof_date")
    private LocalDateTime networkGetNetworkCarProofDate;

    @ApiModelProperty(value = "资格证有效期限起")
    @TableField("network_car_proof_on")
    private LocalDateTime networkCarProofOn;

    @ApiModelProperty(value = "资格证有效期限止")
    @TableField("network_car_proof_off")
    private LocalDateTime networkCarProofOff;

    @ApiModelProperty(value = "报备日期")
    @TableField("network_register_date")
    private Integer networkRegisterDate;

    @ApiModelProperty(value = "是否专职驾驶员 1：是，0：否")
    @TableField("network_full_time_driver")
    private Boolean networkFullTimeDriver;

    @ApiModelProperty(value = "是否在驾驶员黑名单 1：是，0：否")
    @TableField("network_in_driver_blacklist")
    private Boolean networkInDriverBlacklist;

    @ApiModelProperty(value = "服务类型 1：网络预约出租汽车，2：巡游出租汽车，3：私人小客车合乘")
    @TableField("network_commercial_type")
    private Boolean networkCommercialType;

    @ApiModelProperty(value = "驾驶员合同（或协议）签署公司")
    @TableField("network_contract_company")
    private String networkContractCompany;

    @ApiModelProperty(value = "合同（或协议）有效期起")
    @TableField("network_contract_on")
    private LocalDateTime networkContractOn;

    @ApiModelProperty(value = "合同（或协议）有效期止")
    @TableField("network_contract_off")
    private LocalDateTime networkContractOff;

    @ApiModelProperty(value = "紧急情况联系人")
    @TableField("network_emergency_contact")
    private String networkEmergencyContact;

    @ApiModelProperty(value = "紧急情况联系人电话")
    @TableField("network_emergency_contact_phone")
    private String networkEmergencyContactPhone;

    @ApiModelProperty(value = "紧急情况联系人通信地址")
    @TableField("network_emergency_contact_address")
    private String networkEmergencyContactAddress;

    @ApiModelProperty(value = "行政区划代码（驾驶员行政区划代码，地级市）")
    @TableField("network_driver_region_code")
    private Integer networkDriverRegionCode;

    @ApiModelProperty(value = "状态 0：有效，0：失效")
    @TableField("network_state")
    private Boolean networkState;

    @ApiModelProperty(value = "登录密码")
    @TableField("password")
    private String password;

    @ApiModelProperty(value = "登录密码(MD5加密)")
    @TableField("md5_password")
    private String md5Password;

    @ApiModelProperty(value = "安全密码（提现密码）")
    @TableField("securityPass")
    private String securitypass;

    @ApiModelProperty(value = "失败次数")
    @TableField("failTimes")
    private Integer failtimes;

    @ApiModelProperty(value = "失败更新时间")
    @TableField("failDate")
    private LocalDateTime faildate;

    @ApiModelProperty(value = "身份证正面照")
    @TableField("id_card_img_url")
    private String idCardImgUrl;

    @ApiModelProperty(value = "身份证反面照")
    @TableField("id_card_back_url")
    private String idCardBackUrl;

    @ApiModelProperty(value = "网约车驾驶员证")
    @TableField("transport_url")
    private String transportUrl;

    @ApiModelProperty(value = "司机账户ID")
    @TableField("driverAccountId")
    private Long driveraccountid;

    @ApiModelProperty(value = "司机图片信息ID")
    @TableField("driverPhoneId")
    private Long driverphoneid;

    @ApiModelProperty(value = "当天开始听单时间")
    @TableField("beginLisonOrderTime")
    private LocalDateTime beginlisonordertime;

    @ApiModelProperty(value = "终端id")
    @TableField("tid")
    private String tid;

    @ApiModelProperty(value = "轨迹id")
    @TableField("trid")
    private String trid;

    @TableField("tid_eo")
    private String tidEo;

    @TableField("trid_eo")
    private String tridEo;

    @ApiModelProperty(value = "网约车驾驶员证副页")
    @TableField("transportUrlvp")
    private String transporturlvp;

    @ApiModelProperty(value = "驾驶员证主业")
    @TableField("driverNumUrlmp")
    private String drivernumurlmp;

    @ApiModelProperty(value = "驾驶员证副业")
    @TableField("driverNumUrlvp")
    private String drivernumurlvp;

    @ApiModelProperty(value = "网约车驾驶员证有效起始时间")
    @TableField("transportValidTime")
    private String transportvalidtime;

    @ApiModelProperty(value = "驾驶证起止日期")
    @TableField("driverNumValidTime")
    private byte[] drivernumvalidtime;

    @TableField("idCardValidTime")
    private String idcardvalidtime;

    @ApiModelProperty(value = "账户提现 0:可提现  1:不可提现")
    @TableField("ye_status")
    private Integer yeStatus;

    @ApiModelProperty(value = "司机加盟类型 0 自营 1 有车加盟 2 无车加盟")
    @TableField("join_type")
    private String joinType;

    @ApiModelProperty(value = "身份证起始日期")
    @TableField("id_card_start")
    private String idCardStart;

    @ApiModelProperty(value = "身份证截至日期")
    @TableField("id_card_stop")
    private String idCardStop;

    @ApiModelProperty(value = "驾驶证截止日期")
    @TableField("driver_reg_date_stop")
    private String driverRegDateStop;

    @ApiModelProperty(value = "网约车驾驶员证起始日期")
    @TableField("transport_valid_time_start")
    private String transportValidTimeStart;

    @ApiModelProperty(value = "网约车驾驶员证截止日期")
    @TableField("transport_valid_time_stop")
    private String transportValidTimeStop;

    @ApiModelProperty(value = "紧急联系电话")
    @TableField("sos_tel")
    private String sosTel;

    @ApiModelProperty(value = "紧急联系人")
    @TableField("sos_name")
    private String sosName;

    @ApiModelProperty(value = "逻辑删除 0 正常 1删除")
    @TableField("driver_state")
    private Integer driverState;

    @ApiModelProperty(value = "是否导入 1 是 0 否")
    @TableField("is_import")
    private Boolean isImport;

    @ApiModelProperty(value = "0=ue 1=eo")
    @TableField("termType")
    private Integer termtype;

    @ApiModelProperty(value = "激活时间")
    @TableField("activate_time")
    private LocalDateTime activateTime;

    @ApiModelProperty(value = "审核通过时间")
    @TableField("audit_time")
    private LocalDateTime auditTime;

    @ApiModelProperty(value = "司机运力类型")
    @TableField("driver_grade")
    private Integer driverGrade;

    @ApiModelProperty(value = "加盟步骤")
    @TableField("join_state")
    private Integer joinState;

    @ApiModelProperty(value = "设置机器人司机 0-否 1-是")
    @TableField("robot")
    private Integer robot;


}
